page.tsx 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. "use client";
  2. import { FC, PropsWithChildren, useState } from "react";
  3. import HeaderBack from "@/components/HeaderBack";
  4. import ButtonOwn from "@/components/ButtonOwn";
  5. import DomainFooter from "@/components/DomainFooter";
  6. import './page.scss'
  7. import React from "react";
  8. import { phoneRegex } from "@/utils";
  9. import {getCheckUserPhoneExistApi, getSendCodeApi} from "@/api/user";
  10. interface Props {}
  11. const ResetPhone: FC<PropsWithChildren<Props>> = () => {
  12. let [userPhone, setUserPhone] = useState('')
  13. const changeUserPhone = (e: { target: { value: any; }; }) => {
  14. setUserPhone(e.target.value)
  15. }
  16. let [verifyInfo, setVerifyInfo] = useState({
  17. msgError: '',
  18. check: false
  19. })
  20. const checkUserPhoneRequest = async () => {
  21. let { code, msg } = await getCheckUserPhoneExistApi({user_phone: userPhone})
  22. if(code == 200) {
  23. getSendCodeApi({user_phone: userPhone}).then((res) => {
  24. if(res.code == 200) {
  25. alert('验证码发送成功')
  26. router.push('/verification')
  27. }
  28. })
  29. router.push('/verification')
  30. return
  31. }
  32. setVerifyInfo({
  33. ...verifyInfo,
  34. msgError: msg,
  35. })
  36. }
  37. return (
  38. <div className="verification-box">
  39. <HeaderBack />
  40. <div className="main">
  41. <div className="title">
  42. <h2>Ativa a sua conta por entrar a Senha de Verificação!</h2>
  43. <div>A senha de verificação foi enviado para o teu telemóvel 16982013895</div>
  44. </div>
  45. <div className="phoneInput">
  46. <input type="tel" value={userPhone} onChange={changeUserPhone} placeholder="Reenviar código" maxLength={6} />
  47. <span className="after">+55</span>
  48. </div>
  49. { verifyInfo.msgError && <div className="tips"> {verifyInfo.msgError} </div> }
  50. <div className="btnContent">
  51. <ButtonOwn active={verifyInfo.check} callbackFun={checkUserPhoneRequest}>Completar</ButtonOwn>
  52. </div>
  53. </div>
  54. <DomainFooter />
  55. </div>
  56. );
  57. };
  58. export default ResetPhone;